Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MOM6: +Pass total depths as arguments #1469

Merged
merged 13 commits into from
Aug 23, 2021

Conversation

Hallberg-NOAA
Copy link
Collaborator

This PR makes changes to explicitly pass total ocean depths as arguments to
various initialization routines or routines within MOM_MEKE, rather than relying
on the values of G%bathyT. This PR builds upon MOM6 PR #1467, and should only
be evaluated once that PR has been dealt with. All answers and output are
bitwise identical with the changes in this PR.

The commits in this PR include:

  Added an optional dZref argument to the two find_eta routines so that the
bathymetry can use a different reference height than is used for the interface
heights.  By default, they use the same reference height and all answers are
bitwise identical.  There is a new optional arguments (that is not yet being
exercised with this commit, but has been tested and will be used in an upcoming
commit) to two publicly visible interfaces.
  Eliminated the depth argument to check_grid_column, along with some internal
calculations that are never used.  Also corrected some comments.  All answers
are bitwise identical.
  Lengthened a message string in get_polynomial_coordinate so that it will give
a valid fatal error message in some cases of failures rather than resulting a
segmentation fault with no message output.  All answers are bitwise identical.
  Added an optional Z_0p argument to the various Boussinesq density integral
routines as a new intercept for the linear expression between the (arbitrary)
interface heights and pressure used for the equation of state routines.  If
omitted, this is equivalent to setting this intercept to 0, and all answers are
bitwise identical.  There are new optional arguments to several publicly visible
interfaces (that are not yet being exercised with this commit, but have been
tested and will be used in an upcoming commit).
  Corrected error messages to indicate the right subroutine in
rescale_dyn_horgrid_bathymetry.  All answers are bitwise identical.
  Added the optional argument dZ_ref_eta to adjustEtaToFitBathymetry so that the
bathymetry can use a different reference height than is used in this routine.
Also changed the name and reversed the sign of the depth (now Z_bot) argument to
find_interfaces, and a new Z_bottom array in MOM_temp_salt_initialize_from_Z.
An extra unit conversion factor was eliminated from MOM_state_init_tests.  All
answers are bitwise identical, and all of these changes are internal to this
module.
  Extensive inconsequential cleanup in MOM_ALE_sponge.F90, including the
elimination of a dozen unnecessary index-range elements of the ALE_sponge_CS and
modifying a number of comments to be much more descriptive.  This included the
correction of numerous spelling errors and other typos in comments.  All answers
are bitwise identical.
  Corrected dimensional inconsistencies in the negligible thicknesses in the
denominators of the expressions for the topographic betas in MEKE_equilibrium
and MEKE_lengthScales.  This could change answers in strange cases, but seems
unlikely to do so (partly because it is in a max expression, and not added), and
did not change any answers in the MOM6-examples test suite.
  Added comments denoted with "###" indicating bugs or conceptual errors in
update_OBC_segment_data, horizontal_viscosity, thickness_diffuse and wave_speed.
Only comments and the case of some indices are changed in this commit, and all
answers are bitwise identical.  Actually correcting these bugs would probably
change answers in some cases.
  Added depth_tot arguments to explicitly pass the total depth to various
initialization routines for the thicknesses, sponges, or temperatures.  These
routines had previously used G%bathT for this role, but this change prepares to
allow the reference depth for the bathymetry to change without requiring these
routines to be changed to accommodate it.  All answers are bitwise identical,
but there are new arguments to about two dozen routines.
  Added a new argument, depth_tot, to three routines within MOM_MEKE.F90 to
replace places where G%bathyT had been used.  This new depth_tot variable is
currently set to G%bathyT, but there is commented-out code suggesting a more
appropriate expression based on the temporally evolving total thickness of
the water column.  All answers are bitwise identical, but there are new
arguments to 3 private routines.
@codecov
Copy link

codecov bot commented Aug 17, 2021

Codecov Report

Merging #1469 (3150c9f) into dev/gfdl (a29bff9) will increase coverage by 0.01%.
The diff coverage is 16.73%.

Impacted file tree graph

@@             Coverage Diff              @@
##           dev/gfdl    #1469      +/-   ##
============================================
+ Coverage     29.12%   29.14%   +0.01%     
============================================
  Files           235      235              
  Lines         71045    71059      +14     
============================================
+ Hits          20694    20707      +13     
- Misses        50351    50352       +1     
Impacted Files Coverage Δ
src/ALE/MOM_regridding.F90 21.45% <0.00%> (+0.09%) ⬆️
src/ALE/regrid_interp.F90 1.41% <ø> (ø)
src/core/MOM_open_boundary.F90 20.00% <0.00%> (ø)
src/diagnostics/MOM_wave_speed.F90 23.68% <0.00%> (ø)
src/framework/MOM_dyn_horgrid.F90 62.68% <0.00%> (ø)
src/parameterizations/lateral/MOM_hor_visc.F90 43.07% <0.00%> (ø)
...arameterizations/lateral/MOM_thickness_diffuse.F90 31.52% <0.00%> (ø)
src/user/BFB_initialization.F90 0.00% <0.00%> (ø)
src/user/DOME2d_initialization.F90 0.00% <0.00%> (ø)
src/user/DOME_initialization.F90 0.00% <0.00%> (ø)
... and 22 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a29bff9...3150c9f. Read the comment docs.

@marshallward
Copy link
Collaborator

marshallward commented Aug 23, 2021

Gaea regression: https://gitlab.gfdl.noaa.gov/ogrp/MOM6/-/pipelines/13428 ✔️

@marshallward marshallward merged commit 7766f3b into mom-ocean:dev/gfdl Aug 23, 2021
@Hallberg-NOAA Hallberg-NOAA deleted the Z_ref_prep2 branch November 22, 2021 09:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants